#!/bin/bash

# Git环境Docker容器停止脚本

set -e

# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

# 配置变量
CONTAINER_NAME="git-env-dev"
DEV_COMPOSE_FILE="docker-compose.dev.yml"

echo -e "${BLUE}停止Git环境开发容器${NC}"

# 检查Docker是否运行
if ! docker info &> /dev/null; then
    echo -e "${RED}错误: Docker服务未运行${NC}"
    exit 1
fi

# 停止docker-compose服务（如果存在）
if [ -f "${DEV_COMPOSE_FILE}" ]; then
    echo -e "${BLUE}停止docker-compose服务...${NC}"
    docker-compose -f docker-compose.yml -f "${DEV_COMPOSE_FILE}" down || true
fi

# 检查并停止容器
if docker ps -a --format "{{.Names}}" | grep -q "^${CONTAINER_NAME}$"; then
    echo -e "${YELLOW}停止容器 ${CONTAINER_NAME}${NC}"
    docker stop "${CONTAINER_NAME}" || true

    echo -e "${YELLOW}删除容器 ${CONTAINER_NAME}${NC}"
    docker rm "${CONTAINER_NAME}" || true
else
    echo -e "${YELLOW}容器 ${CONTAINER_NAME} 不存在${NC}"
fi

# 清理网络（如果存在）
echo -e "${BLUE}清理Docker网络...${NC}"
docker network prune -f || true

echo -e "${GREEN}Git环境已停止${NC}"

# 显示清理命令
echo -e "${BLUE}=== 其他清理命令 ===${NC}"
echo -e "${YELLOW}完全清理环境: ./clean.sh${NC}"
echo -e "${YELLOW}删除镜像: docker rmi git-env:latest${NC}"
echo -e "${YELLOW}删除数据卷: docker volume prune -f${NC}"